#ifndef QQ_NAVIGATION_NODE
#define QQ_NAVIGATION_NODE

#include <qabstractitemmodel.h>
#include <qobject.h>
#include <qicon.h>
#include <quuid.h>

class QQNavigationNode : public QObject
{
	Q_OBJECT

public:
	explicit QQNavigationNode(QObject* parent = nullptr);
	~QQNavigationNode();

	QString getNodeKey() const;
	void setNodeIcon(QIcon icon);
	QIcon getNodeIcon() const;
	void setModelIndex(const QModelIndex& index);
	QModelIndex getModelIndex() const;
	void setKeyPoints(int keyPoints);
	int getKeyPoints() const;
	void setIsVisible(bool isVisible);
	bool getIsVisible() const;

	int getRow() const;
private:
	QString mNodeKey;
	QIcon mNodeIcon;
	QModelIndex mModelIndex;
	int mKeyPoints;
	bool mIsVisible;
};

#endif // QQ_NAVIGATION_NODE
